#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
char* My_strstr(const char* stri, const char* substr)
{
    assert(stri && substr);

    // 如果子串为空，返回原字符串
    if (*substr == '\0') {
        return (char*)stri;
    }
    while (*stri != '\0')
    {
        const char* temp_str = stri;
        const char* temp_substr = substr;
        // 逐个字符比较
        while (*temp_str != '\0' && *temp_substr != '\0' && *temp_str == *temp_substr)
        {
            temp_str++;
            temp_substr++;
        }
        // 如果子串的所有字符都匹配成功
        if (*temp_substr == '\0') {
            return (char*)stri;
        }
        // 移动到下一个起始位置
        stri++;
    }

    return NULL;
}
int main()
{
	char string[20] = "I love you";
	char substring[10] = "Iammmmmmm";
	if (My_strstr(string, substring) == NULL)
	{
		printf("找不到！\n");
	}
	else
	{
		printf("%s", My_strstr(string, substring));
	}
	return 0;
}